Logic analyzers are commonly used today to analyze the digital signals generated within a circuit. A logic analyzer can perform a number of functions, including acquiring and storing data generated by logic within the circuit under test. One particular use of an analyzer is to monitor the instructions of a microprocessor-based circuit and the data that is generated along therewith to determine if the circuit is operating properly.
In one aspect of its monitoring operation, the analyzer acts as a data acquisition system to acquire and then store data including events in memory. The timing of events is often critical in a circuit, and the data acquisition system typically contains a time measurement circuit for measuring the time between the events. Each event is identified or "stamped" with a unique value representing time as it is acquired, and two time values are then compared to determine the elapsed time.
Conventional data acquisition systems generate these time values with a means such as a counter that produces a cumulative binary code. Each count of the code represents elapsed time. To prevent the counters from "rolling over" too quickly and repeating their values, they are designed to be "autoranging." With autoranging, the counter is clocked over a range of frequencies rather than at a single frequency to enable it to count at progressively slower rates as time progresses. The count is cumulative beginning when the first event is acquired and stored in memory and continuing until acquisition of data is halted.
A drawback of a "stamping" technique that includes autoranging is the progressively poorer resolution (time between counts) that occurs as time progresses. Over a long time, the resolution may become less than an acceptable minimum and even fall below the rate at which events are acquired and stored. For instance, at extremely slow frequencies, successive events may be tagged with the same count. The time between these events cannot be accurately measured.
To improve the accuracy of time measurement, a time stamp should maintain high resolution and yet be autoranging to increase the time over which time measurements can be made.